home *** CD-ROM | disk | FTP | other *** search
/ Shareware Grab Bag / Shareware Grab Bag.iso / 090 / euse.arc / E-USE.BAS (.txt)
Encoding:
GW-BASIC  |  1984-12-15  |  5.8 KB  |  97 lines

  1. 10  SCREEN 1,0:COLOR 0,0:KEY OFF:LOCATE ,,0
  2. 20  CLEAR 100
  3. 30  DEFINT A-Z:DIM A(100)
  4. 40  ON ERROR GOTO 80
  5. 50  CLS:LOCATE 2,8:PRINT "HOME ENERGY COST BARCHART":LOCATE 5,14:PRINT "by Dan Petty":LOCATE 23,8:INPUT "WHAT YEAR DO YOU WANT ? ",Q$:S$= RIGHT$(Q$,2)
  6. 60  OPEN "I",1,"A:"+S$+".FIL"
  7. 70  INPUT #1,M1,G1,G2,G3,G4,G5,G6,G7,G8,G9,GG,GE,GF,E1,E2,E3,E4,E5,E6,E7,E8,E9,EE,EF,EG :CLOSE 1
  8. 80  CLS:INPUT "INSTRUCTIONS (Y/N)? ",Q$:IF Q$="Y" OR Q$="y" THEN GOSUB 930 ELSE CLS:LOCATE 1,10:PRINT "- 19"+S$+" ENERGY USE -"
  9. 90  LOCATE 3,1:PRINT " CARE TO SEE THE YEAR TO DATE ? (Y/N)"
  10. 100  D$= INKEY$ :IF D$="" THEN 100
  11. 110  IF D$="Y" OR D$="y" THEN 150
  12. 120  CLS :INPUT "ENTER MONTH: (E TO ESCAPE)";M$:GOTO 660
  13. 130  GOSUB 590
  14. 140  GOSUB 610
  15. 150  CLS
  16. 160  LOCATE 1,10:PRINT " - 19"+S$+" ENERGY COST -":LOCATE 3,1:PRINT
  17. 170  X=50:FOR Y=68 TO 188:PSET(X,Y),3:NEXT
  18. 180  X=255:FOR Y=68 TO 188:PSET(X,Y),3:NEXT
  19. 190  Y=188:FOR X=50 TO 255:PSET(X,Y),3:NEXT
  20. 200  Y=176:FOR X=50 TO 255:PSET(X,Y),3:NEXT
  21. 210  Y=164:FOR X=50 TO 255:PSET(X,Y),3:NEXT
  22. 220  Y=152:FOR X=50 TO 255:PSET(X,Y),3:NEXT
  23. 230  Y=140:FOR X=50 TO 255:PSET(X,Y),3:NEXT
  24. 240  Y=128:FOR X=50 TO 255:PSET(X,Y),3:NEXT
  25. 250  Y=116:FOR X=50 TO 255:PSET(X,Y),3:NEXT
  26. 260  Y=104:FOR X=50 TO 255:PSET(X,Y),3:NEXT
  27. 270  Y=92:FOR X=50 TO 255:PSET(X,Y),3:NEXT
  28. 280  Y=80:FOR X=50 TO 255:PSET(X,Y),3:NEXT
  29. 290  Y=68:FOR X=50 TO 255:PSET(X,Y),3:NEXT
  30. 300  LOCATE 7,1:PRINT "DOLLARS";
  31. 310  LOCATE 9,3:PRINT "$200";
  32. 320  LOCATE 12,3:PRINT "$160";
  33. 330  LOCATE 15,3:PRINT "$120";
  34. 340  LOCATE 18,4:PRINT "$80";
  35. 350  LOCATE 21,4:PRINT "$40";
  36. 360  LOCATE 24,6:PRINT "0";
  37. 370  LOCATE 5,1:PRINT "GREEN = GAS   RED = ELECTRICITY"
  38. 380  LOCATE 8,9:PRINT "J F M A M J J A S O N D";
  39. 390  IF LEFT$ (D$,1)="Y" OR LEFT$(D$,1)="y" THEN 800
  40. 400  IF LEFT$ (M$,3)="JAN" OR LEFT$(M$,3)="jan" AND M1<1 THEN FOR X=64 TO 65:FOR Y=G TO 188:PSET(X,Y),1:NEXT Y,X:FOR X=68 TO 69:FOR Y=E TO 188:PSET(X,Y),2:NEXT Y,X:G1=G:E1=E:M1=M1+1:GOTO 530
  41. 410  IF LEFT$ (M$,3)="FEB" OR LEFT$(M$,3)="feb" AND M1<2 THEN FOR X=80 TO 81:FOR Y=G TO 188:PSET(X,Y),1:NEXT Y,X:FOR X=84 TO 85:FOR Y=E TO 188:PSET(X,Y),2:NEXT Y,X:G2=G:E2=E:M1=M1+1:GOTO 530
  42. 420  IF LEFT$ (M$,3)="MAR" OR LEFT$(M$,3)="mar" AND M1<3 THEN FOR X=96 TO 97:FOR Y=G TO 188:PSET(X,Y),1:NEXT Y,X:FOR X=100 TO 101:FOR Y=E TO 188:PSET(X,Y),2:NEXT Y,X:M1=M1+1:G3=G:E3=E:GOTO 530
  43. 430  IF LEFT$ (M$,3)="APR" OR LEFT$(M$,3)="apr" AND M1<4 THEN FOR X=112 TO 113:FOR Y=G TO 188:PSET(X,Y),1:NEXT Y,X:FOR X=116 TO 117:FOR Y=E TO 188:PSET(X,Y),2:NEXT Y,X:M1=M1+1:G4=G:E4=E:GOTO 530
  44. 440  IF LEFT$ (M$,3)="MAY" OR LEFT$(M$,3)="may" AND M1<5 THEN FOR X=128 TO 129:FOR Y=G TO 188:PSET(X,Y),1:NEXT Y,X:FOR X=132 TO 133:FOR Y=E TO 188:PSET(X,Y),2:NEXT Y,X:M1=M1+1:G5=G:E5=E:GOTO 530
  45. 450  IF LEFT$ (M$,3)="JUN" OR LEFT$(M$,3)="jun" AND M1<6 THEN FOR X=144 TO 145:FOR Y=G TO 188:PSET(X,Y),1:NEXT Y,X:FOR X=148 TO 149:FOR Y=E TO 188:PSET(X,Y),2:NEXT Y,X:M1=M1+1:G6=G:E6=E:GOTO 530
  46. 460  IF LEFT$ (M$,3)="JUL" OR LEFT$(M$,3)="jul" AND M1<7 THEN FOR X=160 TO 161:FOR Y=G TO 188:PSET(X,Y),1:NEXT Y,X:FOR X=164 TO 165:FOR Y=E TO 188:PSET(X,Y),2:NEXT Y,X:M1=M1+1:G7=G:E7=E:GOTO 530
  47. 470  IF LEFT$ (M$,3)="AUG" OR LEFT$(M$,3)="aug" AND M1<8 THEN FOR X=176 TO 177:FOR Y=G TO 188:PSET(X,Y),1:NEXT Y,X:FOR X=180 TO 181:FOR Y=E TO 188:PSET(X,Y),2:NEXT Y,X:M1=M1+1:G8=G:E8=E:GOTO 530
  48. 480  IF LEFT$ (M$,3)="SEP" OR LEFT$(M$,3)="sep" AND M1<9 THEN FOR X=192 TO 193:FOR Y=G TO 188:PSET(X,Y),1:NEXT Y,X:FOR X=196 TO 197:FOR Y=E TO 188:PSET(X,Y),2:NEXT Y,X:M1=M1+1:G9=G:E9=E:GOTO 530
  49. 490  IF LEFT$ (M$,3)="OCT" OR LEFT$(M$,3)="oct" AND M1<10 THEN FOR X=208 TO 209:FOR Y=G TO 188:PSET(X,Y),1:NEXT Y,X:FOR X=212 TO 213:FOR Y=E TO 188:PSET(X,Y),2:NEXT Y,X:M1=M1+1:GG=G:EE=E:GOTO 530
  50. 500  IF LEFT$ (M$,3)="NOV" OR LEFT$(M$,3)="nov" AND M1<11 THEN FOR X=224 TO 225:FOR Y=G TO 188:PSET(X,Y),1:NEXT Y,X:FOR X=227 TO 228:FOR Y=E TO 188:PSET(X,Y),2:NEXT Y,X:M1=M1+1:GE=G:EF=E:GOTO 530
  51. 510  IF LEFT$ (M$,3)="DEC" OR LEFT$(M$,3)="dec" AND M1<12 THEN FOR X=239 TO 240:FOR Y=G TO 188:PSET(X,Y),1:NEXT Y,X:FOR X=242 TO 243:FOR Y=E TO 188:PSET(X,Y),2:NEXT Y,X:M1=M1+1:GF=G:EG=E:GOTO 530
  52. 520  PRINT "THAT MONTH ALREADY ENTERED":FOR X=1 TO 2000:NEXT :CLS :GOTO 120
  53. 530  LOCATE 25,12:PRINT "FINISHED? (Y/N)";
  54. 540  C$= INKEY$:IF C$="" THEN 540
  55. 550  IF C$="Y" OR C$="y" THEN CLS :LOCATE 12,13:PRINT "ENTRY COMPLETED.":LOCATE 14,16:PRINT "Thank You.":GOTO 570
  56. 560  CLS :GOTO 80
  57. 570  OPEN "O",1,"A:"+S$+".FIL":PRINT #1,M1;G1;G2;G3;G4;G5;G6;G7;G8;G9;GG;GE;GF;E1;E2;E3;E4;E5;E6;E7;E8;E9;EE;EF;EG :CLOSE 1
  58. 580  FOR X=1 TO 4000:NEXT :CLS :SYSTEM
  59. 590  PRINT:INPUT "AMOUNT OF YOUR GAS BILL: $",G
  60. 600  GOTO 630
  61. 610  PRINT:INPUT "AMOUNT OF YOUR ELECTRIC BILL: $",E
  62. 620  GOTO 640
  63. 630  G=188-(G*0.6):RETURN
  64. 640  E=188-(E*0.6):RETURN
  65. 650  END
  66. 660  IF LEFT$ (M$,3)="JAN" OR LEFT$(M$,3)="jan" AND M1<1 THEN GOTO 130
  67. 670  IF LEFT$ (M$,3)="FEB" OR LEFT$(M$,3)="feb" AND M1<2 THEN GOTO 130
  68. 680  IF LEFT$ (M$,3)="MAR" OR LEFT$(M$,3)="mar" AND M1<3 THEN GOTO 130
  69. 690  IF LEFT$ (M$,3)="APR" OR LEFT$(M$,3)="apr" AND M1<4 THEN GOTO 130
  70. 700  IF LEFT$ (M$,3)="MAY" OR LEFT$(M$,3)="may" AND M1<5 THEN GOTO 130
  71. 710  IF LEFT$ (M$,3)="JUN" OR LEFT$(M$,3)="jun" AND M1<6 THEN GOTO 130
  72. 720  IF LEFT$ (M$,3)="JUL" OR LEFT$(M$,3)="jul" AND M1<7 THEN GOTO 130
  73. 730  IF LEFT$ (M$,3)="AUG" OR LEFT$(M$,3)="aug" AND M1<8 THEN GOTO 130
  74. 740  IF LEFT$ (M$,3)="SEP" OR LEFT$(M$,3)="sep" AND M1<9 THEN GOTO 130
  75. 750  IF LEFT$ (M$,3)="OCT" OR LEFT$(M$,3)="oct" AND M1<10 THEN GOTO 130
  76. 760  IF LEFT$ (M$,3)="NOV" OR LEFT$(M$,3)="nov" AND M1<11 THEN GOTO 130
  77. 770  IF LEFT$ (M$,3)="DEC" OR LEFT$(M$,3)="dec" AND M1<12 THEN GOTO 130
  78. 780  IF LEFT$ (M$,1)="E" OR LEFT$ (M$,1)="e" THEN CLS:GOTO 530
  79. 790  GOTO 520
  80. 800  IF G1>0 AND E1>0 THEN FOR X=64 TO 65:FOR Y=G1 TO 188:PSET(X,Y),1:NEXT Y,X:FOR X=68 TO 69:FOR Y=E1 TO 188:PSET(X,Y),2:NEXT Y,X
  81. 810  IF G2>0 AND E2>0 THEN FOR X=80 TO 81:FOR Y=G2 TO 188:PSET(X,Y),1:NEXT Y,X:FOR X=84 TO 85:FOR Y=E2 TO 188:PSET(X,Y),2:NEXT Y,X
  82. 820  IF E3>0 AND G3>0 THEN FOR X=96 TO 97:FOR Y=G3 TO 188:PSET(X,Y),1:NEXT Y,X:FOR X=100 TO 101:FOR Y=E3 TO 188:PSET(X,Y),2:NEXT Y,X
  83. 830  IF G4>0 AND E4>0 THEN FOR X=112 TO 113:FOR Y=G4 TO 188:PSET(X,Y),1:NEXT Y,X:FOR X=116 TO 117:FOR Y=E4 TO 188:PSET(X,Y),2:NEXT Y,X
  84. 840  IF G5>0 AND E5>0 THEN FOR X=128 TO 129:FOR Y=G5 TO 188:PSET(X,Y),1:NEXT Y,X:FOR X=132 TO 133:FOR Y=E5 TO 188:PSET(X,Y),2:NEXT Y,X
  85. 850  IF G6>0 AND E6>0 THEN FOR X=144 TO 145:FOR Y=G6 TO 188:PSET(X,Y),1:NEXT Y,X:FOR X=148 TO 149:FOR Y=E6 TO 188:PSET(X,Y),2:NEXT Y,X
  86. 860  IF G7>0 AND E7>0 THEN FOR X=160 TO 161:FOR Y=G7 TO 188:PSET(X,Y),1:NEXT Y,X:FOR X=164 TO 165:FOR Y=E7 TO 188:PSET(X,Y),2:NEXT Y,X
  87. 870  IF G8>0 AND E8>0 THEN FOR X=176 TO 177:FOR Y=G8 TO 188:PSET(X,Y),1:NEXT Y,X:FOR X=180 TO 181:FOR Y=E8 TO 188:PSET(X,Y),2:NEXT Y,X
  88. 880  IF G9>0 AND E9>0 THEN FOR X=192 TO 193:FOR Y=G9 TO 188:PSET(X,Y),1:NEXT Y,X:FOR X=196 TO 197:FOR Y=E9 TO 188:PSET(X,Y),2:NEXT Y,X
  89. 890  IF GG>0 AND EE>0 THEN FOR X=208 TO 209:FOR Y=GG TO 188:PSET(X,Y),1:NEXT Y,X:FOR X=212 TO 213:FOR Y=EE TO 188:PSET(X,Y),2:NEXT Y,X
  90. 900  IF GE>0 AND EF>0 THEN FOR X=224 TO 225:FOR Y=GE TO 188:PSET(X,Y),1:NEXT Y,X:FOR X=227 TO 228:FOR Y=EF TO 188:PSET(X,Y),2:NEXT Y,X
  91. 910  IF GF>0 AND EG>0 THEN FOR X=239 TO 240:FOR Y=GF TO 188:PSET(X,Y),1:NEXT Y,X:FOR X=243 TO 244:FOR Y=EG TO 188:PSET(X,Y),2:NEXT Y,X
  92. 920  GOTO 530
  93. 930  CLS:PRINT "  A SIMPLE HOME ENERGY COST BARCHART.":PRINT:PRINT "1. EACH MONTH; SIMPLY PLUG IN THE TOTALSFOR YOUR GAS AND ELECTRIC BILL AND THE  PROGRAM WILL PROVIDE AN ANNUAL RECORD.":PRINT
  94. 940  PRINT "2. PROGRAM WILL CREATE A SEPARATE FILE  CALLED 84.FIL TO HOLD PREVIOUSLY ENTEREDNUMBERS.":PRINT
  95. 950  PRINT "3. SINCE THE PROGRAM MAY BE USED FOR    FUTURE YEARS, IT WILL PROMPT YOU FOR THEYEAR YOU WANT TO SEE OR ADD FIGURES TO.":PRINT
  96. 960  INPUT "PRESS <ENTER>",Q$:CLS :RETURN
  97.